Unit generator must have some sort of unified interface to be able to be stacked in a graph
i.e. they must share some functions that the graph will call to get their output
e.g. a ticker or a processBuffer function
This can be done easily in object oriented languages thorugh inheritance
in C, the first member of a struct can be used to simulate inheritance through pointer casting
Apart from the process function, init and destroy functions are generally needed
Parameters
Parameters to the unit generator can be passed through dedicated functions (less generic)
change can be applied as soon as it happens
can have concurrency issues
or through members of the unit generator data structure
must check whether values have changed
less efficient but no concurrency issues